Embedding / ID - so when the swf gets written to the page, it will overwrite the old div etc and take over the ID. You the notes are correct, you are grabbing the ID of the swf (which WAS the ID of the replacement element)
callEI() - This was just an example function name to demonstrate that you could call whatever function you wanted to on the onload event :) Cheers, Aran -----Original Message----- From: swfobject@googlegroups.com [mailto:swfobj...@googlegroups.com] On Behalf Of Mohan Sent: Friday, 30 January 2009 6:30 PM To: SWFObject Subject: Re: Trying to access the flash element right after swfobject.embedSWF results in error On Jan 30, 1:51 pm, "Aran Rhee" <aran.r...@gmail.com> wrote: > First of all, just checking - Did you overwrite the id with something other > than "flashcontent" in your attributes object? If not, then you want: > > var swf = document.getElementById("flashcontent"); Hmm. Thats different from what I have seemed to understand from the ""Dynamic publishing" section of the tutorial at http://www.pipwerks.com/lab/swfobject/ExternalInterface/2.0/index.html. In the "Notes" it indicates that you grab hold of the SWF by using its ID and not the id of the element that you pass in the call to swfobject.embedSWF. Am I reading that wrong ? The working example at http://www.pipwerks.com/lab/swfobject/ExternalInterface/2.0/dynamic.html also uses the SWF ID and that seems to work ok, so I think this is correct, no ? > Also - have you looked at the reference page examples for external > interface:http://www.bobbyvandersluis.com/swfobject/testsuite_2_1/test_dynam ic_... Sorry mate - I am getting a 404 when clicking the link you gave above? > l > > I think you want to try to call the EI method only once you have an onload > event on the window / page to ensure everything is ready and available, so > you could do something like: > > <body onload="callEI();"> Where can I find more information on this callEl function ? > > On write a separate onload function within your <head> functions like: > > window.onload = function() > { > var swf= document.getElementById("ExternalInterfaceExample"); > if (swf && typeof swf.sendTextToFlash != "undefined") > { > swf.sendTextToFlash(text); > } > > } > > Philip (pipwerks) or others may have a better solution than this... Thanks for the suggestions mate. > > Aran > > -----Original Message----- > From: swfobject@googlegroups.com [mailto:swfobj...@googlegroups.com] On > > Behalf Of Mohan > Sent: Friday, 30 January 2009 4:13 PM > To: SWFObject > Subject: Trying to access the flash element right after swfobject.embedSWF > results in error > > Hello, > > I have been trying to use this great library to embed some flash > dynamicly and then access the flash API via javascript > (ExternalInterface). The problem I am having seems to be, because I > try to access the flash element right after the call to > swfobject.embedSWF, the element does not seem to be ready yet. > > For example, starting with the example code fromhttp://www.pipwerks.com/lab/swfobject/ExternalInterface/2.0/dynamic.html > (Thanks for the example!), if I were to modify the following > javascript in the dynamic.html global scope by trying to get at the > swf object I get an "swf is null". However the event handling code > that access the flash element still works ok, indicating that the > flash did get embedded ok. > > swfobject.embedSWF("ExternalInterfaceExample.swf", "flashcontent", > "550", "200", "8", false, flashvars, params, attributes); > var swf = document.getElementById("ExternalInterfaceExample"); //added > line > swf.sendTextToFlash(text); //trying to use the flash object right > after embedding it > > Is this because the flash element is not ready yet ? How would I > implement something that needs to be run right after the call to > swfobject.embedSWF ? The examples I have seen always make use of the > swfobject in some event handler and not right after the call to > swfobject.embedSWF. Any help would be greatly appreciated. > > Mohan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "SWFObject" group. To post to this group, send email to swfobject@googlegroups.com To unsubscribe from this group, send email to swfobject+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/swfobject?hl=en -~----------~----~----~----~------~----~------~--~---